Leave-one-out cross-validation for the \(\alpha\)-SLX model
cv.alfaslx(y, x, a = seq(0.1, 1, by = 0.1), coords, k = 2:15, nfolds = 10, folds = NULL)A list including:
The runtime required by the cross-validation.
A vector with the Kullback-Leibler divergence of the observed from the fitted values. Every value corresponds to a value of \(\alpha\).
A vector with the minimum Kullback-Leibler divergence, the optimal value of \(\alpha\) and k.
A matrix with compositional data. zero values are allowed.
A matrix with the continuous predictor variables or a data frame including categorical predictor variables.
The value of the power transformation, it has to be between -1 and 1. If zero values are present it has to be greater than 0. If \(\alpha=0\) the isometric log-ratio transformation is applied.
A matrix with the coordinates of the locations. The first column is the latitude and the second is the longitude.
A vector with the nearest neighbours to consider for the contiguity matrix.
The number of folds to split the data.
If you have the list with the folds supply it here. You can also leave it NULL and it will create folds.
Michail Tsagris.
R implementation and documentation: Michail Tsagris mtsagris@uoc.gr.
The \(\alpha\)-transformation is applied to the compositional data and the numerical optimisation is performed for the regression, unless \(\alpha=0\), where the coefficients are available in closed form.
Tsagris M. (2025). The \(\alpha\)--regression for compositional data: a unified framework for standard, spatially-lagged, and geographically-weighted regression models. https://arxiv.org/pdf/2510.12663
Tsagris M. (2015). Regression analysis with compositional data containing zero values. Chilean Journal of Statistics, 6(2): 47-57. https://arxiv.org/pdf/1508.01913v1.pdf
Tsagris M.T., Preston S. and Wood A.T.A. (2011). A data-based power transformation for compositional data. In Proceedings of the 4th Compositional Data Analysis Workshop, Girona, Spain. https://arxiv.org/pdf/1106.1451.pdf
alfa.slx, cv.gwar cv.alfareg
data(fadn)
coords <- fadn[1:100, 1:2]
y <- fadn[1:100, 3:7]
x <- fadn[1:100, 8]
mod <- cv.alfaslx(y, x, a = 0.5, coords, k = 2)
Run the code above in your browser using DataLab